<template>
	<view class="wrapper">
		<SearchBar @search='toSearchList' />
		<view class="history-search">
			<view class="title">
				<text class="title">历史搜索</text>
				<icon type="clear" size="18" @click='clearHistory'> </icon>
			</view>
			<view>
				<view v-for="(item,index) in historyList" :key='index' @click="toSearchList(item)">
					{{item}}
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import SearchBar from "../../compoents/SearchBar.vue"
	const HISTORY_LIST_KEY = 'history_list'
	export default {
		data() {
			return {
				historyList: []
			}
		},
		components: {
			SearchBar
		},
		onShow() {
			this.historyList = uni.getStorageSync(HISTORY_LIST_KEY) || []
		},
		methods: {
			clearHistory() {
				uni.showModal({
					title: '提示',
					content: '你确定要清除吗',

					success: res => {
						this.historyList = []
						uni.removeStorageSync(HISTORY_LIST_KEY)
					},

				});
			},
			toSearchList(inputVal) {
				//关键字应该插入到history数组头部，并且去重
				// this.historyList.unshift(inputVal);
				//或者用以下...展开运算符也行
				// let _historyList = [inputVal, ...this.historyList]
				// _historyList = [...new Set(_historyList)];
				// // 历史搜索改变应该存储到storage
				// uni.setStorageSync(HISTORY_LIST_KEY, _historyList);
				uni.navigateTo({
					url: "/pages/search_list/search_list?catName=" + inputVal
				})
			}
		}
	}
</script>

<style lang="less">
	.search {
		background-color: #eee;
		padding: 30rpx 15rpx;
		display: flex;
		justify-content: space-between;
		font-size: 28rpx;
		position: relative;

		icon {
			position: absolute;
			top: 50rpx;
			left: 38rpx;
		}

		input {
			height: 60rpx;
			flex: 1;
			background-color: #fff;
			padding-left: 70rpx;
			box-sizing: border-box;
			border-radius: 4rpx;
		}

		button {
			width: 160rpx;
			height: 60rpx;
			line-height: 60rpx;
			border-radius: 8rpx;
			font-size: 28rpx;
			border: 1rpx solid #bfbfbf;
			background-color: #eee;
			margin-left: 20rpx;
		}
	}

	.history-search {
		color: #333;
		font-size: 28rpx;
		padding: 30rpx 30rpx 30rpx 15rpx;

		.title {
			display: flex;
			justify-content: space-between;
		}

		view {
			display: flex;
			flex-wrap: wrap;
			margin-top: 30rpx;

			view {
				height: 64rpx;
				line-height: 64rpx;
				padding: 0 26rpx;
				background-color: #ddd;
				margin: 0 30rpx 16rpx 0;
			}
		}
	}
</style>
